package ${bussPackage}.${entityPackage}.service;

import java.util.Map;
import java.util.List;
//import com.github.pagehelper.Page;
import com.chrhc.projects.cpub.back.common.CpubPage;
import ${bussPackage}.${entityPackage}.model.${className};
import ${bussPackage}.${entityPackage}.model.${className}Example;
import com.chrhc.projects.uiap.common.persistence.entity.CurrentUser;

/**
 * <一句话功能简述${className}ServiceI>
 * <功能详细描述>
 * @author 姓名${author}
 * @version [${version}, ${curDate?string("yyyy年MM月dd日")}]
 */

public interface ${className}ServiceI {

	/**
    * <查询单条>
    * <根据主键查询>
    * @see #get(String)
    * @param id
    * @return ${className}
    */
	public ${className} get(String id);

	/**
    * <分页查询>
    * <根据查询条件查询>
    * @see #findByPage
    * @param parameters
    * @param pageNumber
    * @param pageSize
    * @param sortType
    * @return CpubPage
    */
	public CpubPage findByPage(Map<String, Object> parameters,
			int pageNumber, int pageSize, String sortType) ;
			
	/**
    * <查询全部>
    * <根据查询条件查询>
    * @see #findAll
    * @param parameters
    * @return List<${className}>
    */
	public List<${className}> findAll(Map<String, Object> parameters);
	
	
	/**
    * <保存方法>
    * <根据主键是否存在判断是新增还是更新>
    * @see #save(${className})
    * @param entity
    * @return ${className}
    */
	public ${className} save(${className} entity,CurrentUser user);
	
	
	/**
    * <普通删除>
    * <根据主键删除一条数据>
    * @see #delete(String)
    * @param primaryKey
    */
	public void delete(String primaryKey) ;
	
	/**
    * <批量删除>
    * <根据主键数组删除一批数据>
    * @see #deleteByIds(String[])
    * @param ids
    */ 
	public void deleteByIds(String... ids) ;
	
	
	

}
